package net.xinshi.utils;

public enum ErrorCode {
    SUCCESS("S0A00000", "操作成功！"),
    /*
     * S开头：系统，网络、数据库异常
     *
     */
	ERR_API_IS_REQUIRE("E0M00001", "Api_ID不能为空"),
	ERR_SIGN_IS_REQUIRE("E0M00002", "Sign不能为空"),
	ERR_REQUEST_DATA_IS_REQUIRE("E0M00003", "REQUEST_DATA不能为空"),
	ERR_REQUEST_DATA_FORMAT_ERROR("E0M00004", "REQUEST_DATA格式错误"),
	ERR_REQUEST_ATTR_IS_REQUIRE("E0M00005", "REQUEST_ATTR不能为空"),
	ERR_REQUEST_ATTR_FORMAT_ERROR("E0M00006", "REQUEST_ATTR格式错误"),
	ERR_TIME_STAMP_IS_REQUIRE("E0M00007", "Time_Stamp不能为空"),
	ERR_TIME_STAMP_TIME_OUT_IS_REQUIRE("E0M00008", "Time_Stamp超时，请重新请求"),
	ERR_RESPONSE_FORMAT_ERROR("E0M00009", "服务异常，请稍后再试"),//API接口返回格式错误，请重新请求
	ERR_APP_TOKEN_IS_REQUIRE("E0M00010", "App_Token不能为空"),
    ERR_API_ID_WRONG("E0M00011", "APIId错误，没有这个API"),
    ERR_API_URL_WRONG("E0M00012", "API_URL错误"),
    ERR_RESPONSE_EMPTY("E0M00013", "返回数据为空"),
    ERR_API_STOP_USE("E0M00014", "API已停用"),
    ERR_REQUEST_PARAM_IS_REQUIRE("E0M00015", "请求参数不能为空"),
    ERR_REQUEST_PARAM_FORMAT_ERROR("E0M00016", "请求参数格式错误"),
    ERR_SIGN_ERROR("E0M00017", "签名错误"),
    ERR_METHOD("E0M00018", "请使用POST方式调用接口"),
    ERR_APP_TOKEN_ERROR("E0M00019", "App_TOKEN错误"),
    ERR_APP_NAME_IS_REQUIRE("E0M00020", "Api_Name不能为空"),
    ERR_APP_URL_IS_REQUIRE("E0M00021", "Api_Url不能为空"),
    ERR_TIME_STAMP_FORMAT_ERROR("E0M00022", "Time_Stamp格式错误"),

    /*
    * M：表示数据信息错误
    *
    */
	ERR_REST_INPUT_VALIDATION_REJECTED("M0001", "输入参数有误"),
	ERR_ILLEGAL_HTTP_REQUEST("M0002", "非法的HTTP请求"),

    /*
    * Z：其他类别
    *
    */
    ERR_DATA_EMPTY_ERROR("B2001", "查询结果为空"),
    ERR_DATA_OPER_ERROR("B2002", "数据操作异常"),
    ERR_APPLICATION_OPER_ERROR("B2003", "系统业务异常"),
	ERR_UNKNOWN_ERROR("Z1999", "系统繁忙，请稍后再试"), ;

    private String code;
    private String msg;

    private ErrorCode(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}